package net.maku.events.utils;

import java.util.ArrayList;
import java.util.List;

/**
 * list数组操作工具类
 * @Author: qr
 * @Date: 2023/5/29 13:59
 * @Version 1.0
 */
public class ListUtil {

    /**
     * 将一个list分割成多个list
     * @param list 传入数组
     * @param subNum 每个数组大小
     * @param <T> 泛型
     * @return 结果
     */
    public static <T> List<List<T>> splistList(List<T> list, int subNum) {
        List<List<T>> tNewList =new ArrayList<>();
        int priIndex;
        int lastPriIndex;
        int insertTimes = list.size() / subNum;
        List<T> subList;
        for (int i = 0;i <= insertTimes;i++) {
            priIndex = subNum*i;
            lastPriIndex = priIndex + subNum;
            if (i == insertTimes) {
                subList = list.subList(priIndex,list.size());
            } else {
                subList = list.subList(priIndex,lastPriIndex);
            }
            if (subList.size() > 0) {
                tNewList.add(subList);
            }
        }
        return tNewList;
    }

}
